package Text3;
import java.util.*;
public class Main {

    public static void main1(String[] args) {
//        输入一个长度为 n 的整数序列。
//        接下来再输入 m 个询问，每个询问输入一对 l,r
//        对于每个询问，输出原序列中从第 l 个数到第 r 个数的和。
        Scanner in=new Scanner(System.in);
        int n=in.nextInt();
        int m=in.nextInt();
        int []arr=new int[n+1];
        int []sum=new int[n+1];
        sum[0]=0;
        for (int i = 1; i <=n ; i++) {
            arr[i]=in.nextInt();
        }
        for (int i = 1; i <=n ; i++) {
            sum[i]=sum[i-1]+arr[i];
        }
        while(m-->0){
            int l=in.nextInt();
            int r=in.nextInt();
            System.out.println(sum[r]-sum[l-1]);
        }

    }
    //        输入一个 n 行 m 列的整数矩阵，再输入 q 个询问，
//        每个询问包含四个整数 x1,y1,x2,y2，表示一个子矩阵的左上角坐标和右下角坐标。
//        对于每个询问输出子矩阵中所有数的和。
    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
        int n=in.nextInt();
        int m=in.nextInt();
        int q=in.nextInt();
        int[][] arr=new int[n+1][m+1];
        for (int i = 1; i <=n ; i++) {
            for (int j = 1; j <=m ; j++) {
                arr[i][j]=in.nextInt();
            }
        }
        long[][] sum=new long[n+1][m+1];
        for (int i = 1; i <=n ; i++) {
            for (int j = 1; j <=m ; j++) {
                sum[i][j]=sum[i-1][j]+sum[i][j-1]+arr[i][j]-sum[i-1][j-1];
            }
        }

        while(q-->0){
            int x1=in.nextInt();
            int y1=in.nextInt();
            int x2=in.nextInt();
            int y2=in.nextInt();
            System.out.println(sum[x2][y2]-sum[x1-1][y2]-sum[x2][y1-1]+sum[x1-1][y1-1]);
        }
    }
}
